<?

class Transformer {

	private $dirFisicoTemplates;
	private $arquivoTemplate;
	private $valoresTroca = array ();

	public function getDirFisicoTemplates() {
		return $this->dirFisicoTemplates;
	}

	public function setDirFisicoTemplates($_dirFisicoTemplates) {
		$this->dirFisicoTemplates = $_dirFisicoTemplates;
	}

	public function getArquivoTemplate() {
		return $this->arquivoTemplate;
	}

	public function setArquivoTemplate($_arquivoTemplate) {
		$this->arquivoTemplate = $_arquivoTemplate;
	}

	public function getValoresTroca() {
		return $this->valoresTroca;
	}

	public function setValoresTroca($_valoresTroca) {
		$this->valoresTroca = $_valoresTroca;
	}

	public function processaHTML() {
		$HTML = file($this->dirFisicoTemplates . $this->arquivoTemplate);
		$resposta = "";
		for ($i = 0; $i < count($HTML); $i++) {
			$linha = $HTML[$i];
			while (ereg("troca##", $linha)) {
				$inicio = strpos($linha, "troca##");
				$var = split("##", $linha, 3);
				if (!isset ($this->valoresTroca[$var[1]])) {
					$v = "";
				} else {
					$v = $this->valoresTroca[$var[1]];
				}
				$linha = str_replace("troca##" . $var[1] . "##", $v, $linha);
				$fim = strpos($linha, "troca##");
				if (($fim != false) and ($fim == $inicio)) {
					$linha[$inicio] = "";
					$linha[$inicio +1] = "";
					$linha[$inicio +2] = "";
					$linha[$inicio +3] = "";
					$linha[$inicio +4] = "";
					$linha[$inicio +5] = "";
					$linha[$inicio +6] = "";
				}
			}
			$resposta .= $linha;
		}
		return (str_replace("?%29", "#", $resposta));
	}

}

?>